package com.coocaa.ops.admin.v1.timedtask.provider;


import com.coocaa.ops.common.core.biz.timedtask.entity.TimedTaskInfoEntity;

/**
 * @author bijiahao
 * @date : 2018/6/16.
 * @description
 */
public interface ITimedTaskProvider {

    /**
     * 获取定时任务的数量
     *
     * @return
     */
    int queryLimitTaskNum();

    /**
     * 保存信息
     *
     * @param entity
     */
    void save(TimedTaskInfoEntity entity);

    /**
     * 更新信息-根据自增ID
     *
     * @param entity
     */
    void updateById(TimedTaskInfoEntity entity);

    /**
     * 更新状态信息
     *
     * @param id
     * @param status
     */
    void updateTimedTaskStatusById(Integer id, Integer status);

    /**
     * 删除-根据ID
     *
     * @param id
     */
    void deleteById(Integer id);

    /**
     * 获取定时信息-定时上架
     *
     * @param resourceType
     * @param resourceId
     * @param resourceVersion
     * @return
     */
    TimedTaskInfoEntity queryTimedTaskForTimelyShelves(String resourceType, Integer resourceId, Integer resourceVersion);

    /**
     * 获取定时信息-推荐池更新
     *
     * @param resourceId
     * @param resourceType
     * @return
     */
    TimedTaskInfoEntity queryTimedTaskForRecommendPoolUpdate(Integer resourceId, String resourceType);
}
